package logica.veiculo;

import java.io.Serializable;

/**
 * Enum que representa os acessorios que veiculos podem possuir.
 * Alem de uma descricao do indice, cada constante possui um inteiro
 * indicador de sua presenca em tipos de veiculos distintos.
 * Como temos apenas dois tipos de veiculos (Automoveis e Motocicletas),
 * quando esse valor inteiro eh negativo, quer dizer que esse acessorio soh
 * eh referente a Automoveis; quando eh positivo, o acessorio soh eh referente
 * a Motocicletas; e quanto eh 0 (zero), indica que o acessorio pertence tanto
 * a Motos como a Carros.
 * @author Equipe Localisa (Usa quem precisa!)
 */

public enum Acessorio implements Serializable{
	PE("Partida Eletrica", 1),
	AC("Ar Condicionado", -1),
	DH("Direcao Hidraulica", -1),
	VE("Vidro Eletrico", -1),
	TE("Trava Eletrica", -1),
	AB("Air-Bag", 0),
	GPS("GPS", 0),
	BC("Banco de Couro", 0),
	ABS("Freios ABS", -1),
	AL("Alarme", 0),
	CDR("CD Player e Radio", -1),
	DVD("DVD Player", -1),
	TR4("Tracao 4x4", -1),
	TS("Teto Solar", -1),
	CB("Computador de Bordo", -1),
	LT("Limpador Traseiro", -1),
	CA("Cambio Automatico", 0),
	BA("Baueto", 1),
	E2("Escapamento Duplo", 1),
	EL("Escapamento Longo", 1);
	
	private String descricao;
	private int presenca;
	
	/**
	 * @param descricao Descricao do acessorio
	 * @param presenca Indica o tipo de veiculo no qual o acessorio esta presente
	 */
	
	private Acessorio(String descricao, int presenca) {
		this.descricao = descricao;
		this.presenca = presenca;
	}

	/**
	 * @return A descricao do acessorio
	 */
	public String getDescricao() {
		return descricao;
	}
	
	
	/**
	 * @return O inteiro que indica o tipo de veiculo no qual o acessorio esta presente
	 */
	public int getPresenca() {
		return presenca;
	}
}